package com.umpay.dto.merBusi.req.bindcard;


import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;
import org.hibernate.validator.constraints.NotEmpty;

/**
 * 
 * @ClassName: BindcardOrderBusiReq  
 * @Description: 绑卡下单业务处理请求类 
 * @author zhangtao  
 * @date Jan 22, 2018
 */
	
public class BindcardOrderBusiReq extends CommonBusiReq{
	/**
	 * 商户号
	 */
	@NotEmpty(message = "商户号不能为空")
	@Pattern(message="商户号格式不正确")
	private String merId;
	
	/**
	 * 业务产品号
	 */
	@NotEmpty(message = "业务产品号不能为空")
	@Pattern(message="业务产品号格式不正确")
	private String bProductId;
	
	/**
	 * 支付 产品号
	 */
	@NotEmpty(message = "支付产品号不能为空")
	@Pattern(message="支付产品号格式不正确")
	private String pProductId;
	
	/**
	 * 商户订单号
	 */
	@NotEmpty(message = "商户订单号不能为空")
	@Pattern(message="商户订单号格式不正确")
	private String orderId;
	
	/**
	 * 商户订单日期
	 */
	@NotEmpty(message = "商户订单日期不能为空")
	@Pattern(message="商户订单日期格式不正确")
	private String orderDate;
	
	/**
	 * 联动用户号
	 */
	@NotEmpty(message = "联动用户号不能为空")
	@Pattern(message="联动用户号格式不正确")
	private String userId;
	
	/**
	 * 会员类型
	 */
	@NotEmpty(message = "会员类型不能为空")
	@Pattern(message="会员类型格式不正确")
	private String userType;
	
	/**
	 * 卡号
	 */
	@NotEmpty(message = "卡号不能为空")
	@Pattern(message="卡号格式不正确")
	private String cardId;
	
	/**
	 * 发卡行ID
	 */
	@NotEmpty(message = "发卡行ID不能为空")
	@Pattern(message="发卡行ID格式不正确")
	private String binBankId;
	
	/**
	 * 开卡单位名称
	 */
	private String bankAccountName;
	
	/**
	 * 开户行所在省
	 */
	private String bankProvName;
	
	/**
	 * 开户行所在市
	 */
	private String bankAreaName;
	
	/**
	 * 开户行支行名称
	 */
	private String 	bankBranchName;

	/**
	 * 银行预留手机号
	 */
	@NotEmpty(message = "银行预留手机号不能为空")
	@Pattern(message="银行预留手机号格式不正确")
	private String bankMobileId;
	
	/**
	 * 服务器异步通知路径
	 */
//	@NotEmpty(message = "服务器异步通知路径不能为空")
	@Pattern(message="服务器异步通知路径格式不正确")
	private String notifyUrl;
	
	public String getBankProvName() {
		return bankProvName;
	}

	public void setBankProvName(String bankProvName) {
		this.bankProvName = bankProvName;
	}

	public String getMerId() {
		return merId;
	}

	public void setMerId(String merId) {
		this.merId = merId;
	}

	public String getbProductId() {
		return bProductId;
	}

	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}

	public String getpProductId() {
		return pProductId;
	}

	public void setpProductId(String pProductId) {
		this.pProductId = pProductId;
	}

	public String getOrderId() {
		return orderId;
	}

	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}

	public String getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getUserType() {
		return userType;
	}

	public void setUserType(String userType) {
		this.userType = userType;
	}

	public String getCardId() {
		return cardId;
	}

	public void setCardId(String cardId) {
		this.cardId = cardId;
	}

	public String getBankBranchName() {
		return bankBranchName;
	}

	public void setBankBranchName(String bankBranchName) {
		this.bankBranchName = bankBranchName;
	}

	public String getBankMobileId() {
		return bankMobileId;
	}

	public void setBankMobileId(String bankMobileId) {
		this.bankMobileId = bankMobileId;
	}

	public String getNotifyUrl() {
		return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	public String getBankAccountName() {
		return bankAccountName;
	}

	public void setBankAccountName(String bankAccountName) {
		this.bankAccountName = bankAccountName;
	}

	public String getBankAreaName() {
		return bankAreaName;
	}

	public void setBankAreaName(String bankAreaName) {
		this.bankAreaName = bankAreaName;
	}

	public String getBinBankId() {
		return binBankId;
	}

	public void setBinBankId(String binBankId) {
		this.binBankId = binBankId;
	}

	@Override
	public String toString() {
		return "BindcardOrderBusiReq [merId=" + merId + ", bProductId=" + bProductId + ", pProductId=" + pProductId
				+ ", orderId=" + orderId + ", orderDate=" + orderDate + ", userId=" + userId + ", userType=" + userType
				+ ", cardId=" + cardId + ", binBankId=" + binBankId + ", bankAccountName=" + bankAccountName
				+ ", bankProvName=" + bankProvName + ", bankAreaName=" + bankAreaName + ", bankBranchName="
				+ bankBranchName  + ", bankMobileId=" + bankMobileId + ", notifyUrl="
				+ notifyUrl + "]";
	}
	
}
